gtk-demo: Use draw signal in color selection demo
authorBenjamin Otte <otte@redhat.com>
Wed, 8 Sep 2010 22:57:05 +0000 (00:57 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 26 Sep 2010 13:11:41 +0000 (15:11 +0200)
demos/gtk-demo/colorsel.c

index 61bdbbf615da61e2177fe7044c7b92ceecbc53c2..d1fbe327e1c48277478d3a2e181556eeadcd9bde 100644 (file)
@@ -15,28 +15,16 @@ static GtkWidget *frame;
 /* Expose callback for the drawing area
  */
 static gboolean
-expose_event_callback (GtkWidget      *widget, 
-                       GdkEventExpose *event, 
-                       gpointer        data)
+draw_callback (GtkWidget *widget, 
+               cairo_t   *cr,
+               gpointer   data)
 {
-  GdkWindow *window;
+  GtkStyle *style;
 
-  window = gtk_widget_get_window (widget);
-  if (window)
-    {
-      GtkStyle *style;
-      cairo_t *cr;
-
-      style = gtk_widget_get_style (widget);
-
-      cr = gdk_cairo_create (window);
+  style = gtk_widget_get_style (widget);
 
-      gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]);
-      gdk_cairo_rectangle (cr, &event->area);
-      cairo_fill (cr);
-
-      cairo_destroy (cr);
-    }
+  gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]);
+  cairo_paint (cr);
 
   return TRUE;
 }
@@ -112,8 +100,8 @@ do_colorsel (GtkWidget *do_widget)
 
       da = gtk_drawing_area_new ();
 
-      g_signal_connect (da, "expose_event",
-                       G_CALLBACK (expose_event_callback), NULL);
+      g_signal_connect (da, "draw",
+                       G_CALLBACK (draw_callback), NULL);
 
       /* set a minimum size */
       gtk_widget_set_size_request (da, 200, 200);